fix another Coverity bug.
authorMatthias Clasen <matthiasc@src.gnome.org>
Sun, 16 Apr 2006 04:45:02 +0000 (04:45 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 16 Apr 2006 04:45:02 +0000 (04:45 +0000)
ChangeLog
ChangeLog.pre-2-10
gtk/gtktextbuffer.c

index dabd4bd6608fa95b1e99fe09722c41f210361228..f1503e98955889c05c63ff9f8de0bba278790d39 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-16  Matthias Clasen <mclasen@redhat.com>
+
+       * gtk/gtktextbuffer.c (_gtk_text_buffer_remove_all_tags):
+       Avoid a NULL dereference.  (Coverity)
+
 2006-04-15  Matthias Clasen <mclasen@redhat.com>
 
        * gtk/gtkrecentmanager.c: Make filename_warning() static,
index dabd4bd6608fa95b1e99fe09722c41f210361228..f1503e98955889c05c63ff9f8de0bba278790d39 100644 (file)
@@ -1,3 +1,8 @@
+2006-04-16  Matthias Clasen <mclasen@redhat.com>
+
+       * gtk/gtktextbuffer.c (_gtk_text_buffer_remove_all_tags):
+       Avoid a NULL dereference.  (Coverity)
+
 2006-04-15  Matthias Clasen <mclasen@redhat.com>
 
        * gtk/gtkrecentmanager.c: Make filename_warning() static,
index 12b386a6d899f9ea4a194765781931c6af576321..ea04b885b016599b9b49e4f954592167bcab7652 100644 (file)
@@ -2514,7 +2514,7 @@ gtk_text_buffer_remove_all_tags (GtkTextBuffer     *buffer,
   GtkTextIter first, second, tmp;
   GSList *tags;
   GSList *tmp_list;
-  GSList *prev;
+  GSList *prev, *next;
   GtkTextTag *tag;
   
   g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
@@ -2569,14 +2569,15 @@ gtk_text_buffer_remove_all_tags (GtkTextBuffer     *buffer,
       if (tag == tmp_list->data)
         {
           /* duplicate */
+          next = tmp_list->next;
           if (prev)
-            prev->next = tmp_list->next;
+            prev->next = next;
 
           tmp_list->next = NULL;
 
           g_slist_free (tmp_list);
 
-          tmp_list = prev->next;
+          tmp_list = next;
           /* prev is unchanged */
         }
       else